﻿using System.Collections.Generic;
using System.IO;

namespace GimmeRainbow.Abstract
{
    public interface ISaltedHasherAsync
    {

        # region asyncMethods

        IEnumerable<string> GenerateSaltedHashAsync(string filePath, string saltFilePath, HelperClass.HashType hashType);

        void GenerateSaltedHashAsync(string filePath, Stream saltFile, HelperClass.HashType hashType);

        void GenerateSaltedHashAsync(Stream stream, HelperClass.HashType hashType);

        void GenerateSaltedHashAsync(Stream stream, Stream saltStream, HelperClass.HashType hashType);

        void GenerateSaltedHashAsync(IEnumerable<string> filePaths, HelperClass.HashType hashType);

        void GenerateSaltedHashAsync(IEnumerable<string> filePaths, string saltFilePath, HelperClass.HashType hashType);

        void GenerateSaltedHashAsync(IEnumerable<string> filePaths, Stream saltStream, HelperClass.HashType hashType);

        void GenerateSaltedHashAsync(IEnumerable<Stream> fStreams, string saltFilePath, HelperClass.HashType hashType);

        void GenerateSaltedHashAsync(IEnumerable<Stream> fStreams, Stream saltFilePath, HelperClass.HashType hashType);

        # endregion

    }
}
